package co.yixiang.yshop.module.crm.controller.admin.crmworkwxcustomer.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 企业微信客户新增/修改 Request VO")
@Data
public class CrmWorkWxCustomerSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22679")
    private Long id;

    @Schema(description = "企业ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26697")
    @NotEmpty(message = "企业ID不能为空")
    private String corpId;

    @Schema(description = "外部联系人的userid", requiredMode = Schema.RequiredMode.REQUIRED, example = "24235")
    @NotEmpty(message = "外部联系人的userid不能为空")
    private String externalUserid;

    @Schema(description = "外部联系人的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "外部联系人的名称不能为空")
    private String name;

    @Schema(description = "外部联系人头像")
    private String avatar;

    @Schema(description = "微信unionid", example = "1844")
    private String unionid;

    @Schema(description = "企业负责该联系人成员")
    private String followUser;

    @Schema(description = "企业的主体名称", example = "yshop")
    private String corpFullName;

    @Schema(description = "企业的简称", example = "赵六")
    private String corpName;

    @Schema(description = "类型，1微信用户，2企业微信用户", example = "2")
    private Integer type;

    @Schema(description = "性别 0-未知 1-男性 2-女性", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "性别 0-未知 1-男性 2-女性不能为空")
    private Integer gender;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "状态不能为空")
    private String status;

    @Schema(description = "权重", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "权重不能为空")
    private Integer weigh;

    @Schema(description = "关联本地客户联系人ID", example = "7242")
    private Long customerId;

}